
package com.sawgdev.android.bokuiki.activity;

import android.app.Activity;
import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.LinearLayout;
import android.widget.TextView;

import com.sawgdev.android.bokuiki.R;
import com.sawgdev.android.bokuiki.bean.BeanConfig;
import com.sawgdev.android.bokuiki.common.database.BKDBHelper;
import com.sawgdev.android.bokuiki.common.database.BkpfDao;

/**
 * ボクダレ（プロフィール）画面
 * @author s220484
 *
 */
public class ActProfile extends Activity implements OnClickListener{

	/** 氏名（漢字） */
	private TextView txvNameK;
	/** 氏名（フリガナ） */
	private TextView txvNameF;
	/** 生年月日 */
	private TextView txvBirth;
	/** 性別 */
	private TextView txvSex;
	/** 備考 */
	private TextView txvEtc;

	/** メール送信ボタン */
	private Button btnSendMail;
	/** 電話ボタン */
	private Button btnTel;
	/** 基本設定 */
	private Button btnSetting;

	/** 基本設定されていない場合表示するエリア */
	private LinearLayout lltVisible;
	/** 基本設定されている場合表示するエリア */
	private LinearLayout lltInfo;

	/** 基本設定情報 */
	private BeanConfig config;

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.profile);

        txvNameK = (TextView) findViewById(R.id.txv_name_k);
        txvNameF = (TextView) findViewById(R.id.txv_name_f);
        txvBirth = (TextView) findViewById(R.id.txv_birth);
        txvSex = (TextView) findViewById(R.id.txv_sex);
        txvEtc = (TextView) findViewById(R.id.txv_etc);

        btnSendMail = (Button) findViewById(R.id.btn_send_mail);
        btnTel = (Button) findViewById(R.id.btn_tel);
        btnSetting = (Button) findViewById(R.id.btn_setting);

        lltInfo = (LinearLayout) findViewById(R.id.llt_info);
        lltVisible = (LinearLayout) findViewById(R.id.llt_visible);

        btnSendMail.setOnClickListener(this);
        btnTel.setOnClickListener(this);
        btnSetting.setOnClickListener(this);
    }

    @Override
    protected void onResume() {
        super.onResume();
        setDispInfo();
    }

    /**
     * 画面に表示する情報を取得し、表示します。
     */
    private void setDispInfo(){
    	BkpfDao dao = new BkpfDao(BKDBHelper.getInstance(this)
				.getReadableDatabase());
		config = dao.selConfig();

		txvNameK.setText(config.getName());
		txvNameF.setText(config.getNameKana());
		txvBirth.setText(config.getBirth());
		txvSex.setText(config.getSex() == 1 ? "男性" : "女性");
		txvEtc.setText(config.getEtc());

		if(config.getId() == 0){
			lltInfo.setVisibility(View.INVISIBLE);
			lltVisible.setVisibility(View.VISIBLE);
		}else{
			lltInfo.setVisibility(View.VISIBLE);
			lltVisible.setVisibility(View.INVISIBLE);
		}
    }

    @Override
	public void onClick(View v) {
    	int btnId = v.getId();

    	switch (btnId) {
		// メール送信ボタン押下時の処理
		case R.id.btn_send_mail:
			actionSendMail();
			break;

		// 電話ボタン押下時の処理
		case R.id.btn_tel:
			actionTel();
			break;

		// 基本設定ボタン押下時の処理
		case R.id.btn_setting:
			actionSetting();
			break;

		default:
			throw new IllegalArgumentException();
		}
	}

    /**
     * メール送信ボタン押下時の処理です。
     */
    private void actionSendMail(){
    	Intent intent = new Intent(Intent.ACTION_SENDTO, Uri.parse("mailto:" + config.getEmail()));
        startActivity(intent);
    }

    /**
     * 電話ボタン押下時の処理です。
     */
    private void actionTel(){
    	Intent intent = new Intent(Intent.ACTION_CALL, Uri.parse("tel:" + config.getTel()));
        startActivity(intent);
    }

    /**
     * 基本設定ボタン押下時の処理です。
     */
    private void actionSetting(){
    	startActivity(new Intent(getApplicationContext(), ActSetting.class));
    }
}
